using System.ComponentModel.DataAnnotations;

namespace LangChainServer.Models
{
    public class ChatMessage
    {
        [Required]
        public string Role { get; set; } = "user"; // user|system|assistant

        [Required]
        public string Content { get; set; } = string.Empty;
    }

    public class ChatRequest
    {
        public string? Provider { get; set; } // "OpenAI" or "Azure"
        public string? Model { get; set; }
        [Required]
        public List<ChatMessage> Messages { get; set; } = new();
        public double Temperature { get; set; } = 0.7;
        public int? MaxTokens { get; set; }
    }

    public class ChatResponse
    {
        public string Content { get; set; } = string.Empty;
        public string? Model { get; set; }
        public string? Provider { get; set; }
    }
}
